1. Field of the Invention
The present invention relates to a controller for an industrial machine such as a robot, a machine tool and a manufacturing machine, having an electric motor as a driving source of the machine, and in particular to a controller capable of preventing a vibration of a controlled system such as the machine, an attachment of the machine and the machine with the attachment.
2. Description of the Related Art
In the controller for a robot, there have been developed various acceleration/deceleration control methods for obtaining an optimum acceleration/deceleration motion of the robot so that mechanism of the robot do not vibrate. According to these method, an acceleration/deceleration control suitable for the robot mechanism and capabilities of electric motors for driving the robot mechanism is performed to enable a high speed robot motion in operating the robot without an end effector attached to the robot.
In the controller for a machine tool, a band rejection filter is used for suppressing sympathetic vibration between the electric motor and the mechanism driven by the electric motor.
With the above method, there arises no problem in a case where an end effector attached to the robot is relatively small or a workpiece held by a hand as the end effector is relatively small. However, in recent years, as shown in FIG. 6, a root system with a large hand 2 attached to the robot 1 for handling a relatively light but bulky workpiece (e.g., a press machined product such as a vehicle body or door) has been increased. Such large hand and the workpiece to be handled with such large hand have low rigidity compared with the robot mechanism. Thus, the hand and the workpiece held by the hand may vibrate when the robot is operated with high speed although the robot mechanism is controlled not to vibrate. With this vibration, there arises problems that the hand fails to hold a workpiece at the predetermined position or the hand drops the workpiece in handling the workpiece. Thus, there is a case where the robot can not operate at the taught speed with a hand attached or the hand holding a workpiece although the robot itself can operate at the taught speed.
At present, the operation speed of the robot is adjusted on a try-and-error basis so that the hand and the workpiece held by the hand do not vibrate in a trial operation of the robot which is requires a time consuming. Further, a workpiece and a peripherical device may be damaged if the hand drops the workpiece or collides with the peripherical device due to the vibration of the hand and the workpiece in the trial operation of the robot. Such trial operation loads an operator with a heavy and time consuming burden.
The present invention provides a controller for a machine having an electric motor as a driving source of the machine, and the controller comprises: natural frequency determining means for determining a frequency or a cycle of a natural vibration of the machine and/or an attachment attached to the machine as a controlled sytem; and motion command generating means for generating a motion command for the electric motor such that the natural vibration of the machine and/or the attachment is suppressed in accordance with the frequency or the cycle of the natural vibration determined by the natural frequency determining means.
The natural frequency determining means may comprise a frequency analyzer for analyzing a vibration frequency of a control signal for the electric motor to determine the frequency or the cycle of the natural vibration, and said motion command generating means has a filter for reducing an amplitude of the natural vibration and automatically alters a coefficient of the filter in accordance with the frequency or the cycle of the natural vibration determined by the frequency analyzer. The frequency analyzer analyzes the control signal regarding a torque, a velocity or a position of the electric motor.
In the case where the controller controls a robot with an end effector attached thereto as the attachment, the motion command generating means has an acceleration/deceleration processing section for creating an acceleration/deceleration motion command for operating the robot in accordance with the frequency or the cycle of the natural vibration of the end effector such that the natural vibration of the end effector is suppressed.
A parameter of the acceleration/deceleration processing section is altered based on the frequency or cycle of the natural vibration of the end effector.
The acceleration/deceleration processing section may comprise first and second filers connected in series for performing linear acceleration/deceleration processing, and a filter length of the second filter is determined based on the frequency or the cycle of the natural vibration.
The acceleration/deceleration processing section may comprise an exponential function filter having a low-pass filter, and a cutoff frequency of the exponential function filter is determined based on the frequency or cycle of the natural vibration.
The acceleration/deceleration processing section may comprise a band rejection filter for rejecting a predetermined band including the frequency of the natural vibration.
The end effector may be a hand, a gun or a torch. In the case where different kinds of end effectors are used, the natural frequency determining means stores data of frequencies or cycles of the natural vibrations of the different kinds of end effectors, and date of frequencies or cycles of the natural vibrations is selected in said data in accordance with a kind of the end effector attached to the robot.
In the case where a hand is used as the end effector, the natural frequency determining means determines the frequencies or cycles of the natural vibrations of the hand holding a workpiece and holding no workpiece, and the acceleration/deceleration processing section creates the acceleration/deceleration motion command such that the natural vibration of the hand with or without the workpiece is suppressed in accordance with holding status of the hand and the frequencies or the cycles of the natural vibrations determined by said natural frequency determining means.
In the case where the hand handles a different kind of workpiece, the natural frequency determining means stores data of each frequency or cycle of the natural vibration of the hand holding the different kind of workpiece and data of frequency or cycle of the natural vibration of the hand is selected in said data in accordance with a kind of workpiece held by the hand. Further, the natural frequency determining means may store data of frequencies or cycles of the natural vibrations of the hand without holding any workpiece and holding a different kind of workpiece, and data of frequency or cycle of the natural vibration of the hand is selected in said data in accordance with holding status of the hand and a kind of workpiece held by the hand.
A degree of suppression of the natural vibration can be variably set. The frequency or cycle of the natural vibration may be determined by a measuring device or based on a torque or a velocity of the electric motor in the robot when an external force is applied to the end effector.